<?php
require_once __DIR__."/Base_model.php";
class Host_add_activity_model extends Base_model
{
    public function __construct()
    {
        parent::__construct();
        $this->add_activity = "add_activity";
        $this->fenlei = "type";
        $this->huati = "type_sub";
        $this->template_photo = "template_photo";
        $this->template_no_edit_photo = "template_no_edit_photo";
    }
/////////////////////////////////////////////////////////测测测模板开始//////////////////////////////////////////////////////////////////////
    /**
     * 原始和弃用主页查询
     */
    public function all($arr){
        $this->db->select('*');
        $this->db->from($this->add_activity);
        //查询为未删除视频
//        $this->db->where("online",2);
        //分页
        if(!empty($arr['page']) && !empty($arr['limit'])){
            $pages=($arr['page']-1)*$arr['limit'];
            $datas['total']=$this->db->count_all_results("",false);
            $this->db->limit($arr['limit'],$pages);
        }else{
            $datas['total']=$this->db->count_all_results("",false);
        }
        $this->db->order_by('sort',"asc");
        $this->db->order_by('add_time',"desc");
        $res = $this->db->get();
        $datas['row']= $res->result_array();
//        echo $this->db->last_query();
        return $datas;
    }

    /**
     * 删除数据
     */
    public function delete($where){
        return $this->db->delete($this->add_activity,$where);
    }

    /**
     * 排序
     */
    public function sort($id,$sort){
        //1.先去查询这个排序值是否存在
        $this->db->select("id,sort");
        $this->db->from($this->add_activity);
        $this->db->where("sort",$sort);
        $res1= $this->db->get();
        $data1 =$res1->row_array();
        if(!$data1){
            //2.如果不存在这个排序值直接修改这个排序
            $re1=$this->update($this->add_activity,['sort'=>$sort],['id'=>$id]);
            if($re1){
                return true;
            }else{
                return false;
            }
        }else{
            //3.如果存在这个值就把大于这个值的都加一，并且判断是否有值等于999
            $this->db->select("id,sort");
            $this->db->from($this->add_activity);
            $this->db->where("sort",999);
            $res2= $this->db->get();
            $data2 =$res2->row_array();
            if(empty($data2)){
                //3.1先去把等于999排序的这个变为999999999
                $re2=$this->update($this->add_activity,['sort'=>999999999],['id'=>$data2['id']]);
                if($re2){
                    //4.查出大于这个排序值并且小于999的所有排序
                    $this->db->select("id,sort");
                    $this->db->from($this->add_activity);
                    $this->db->where("sort >=",$sort);
                    $this->db->where("sort <",999);
                    $res3= $this->db->get();
                    $data3 =$res3->result_array();
                    if(empty($data3)){
                        //4.1如果没有比这个值大的排序
                        $re4=$this->update($this->add_activity,['sort'=>$sort],['id'=>$id]);
                        if($re4){
                            return true;
                        }else{
                            return false;
                        }
                    }else{
                        //4.2如果有比这个排序值大的,先把大的这些值
                        foreach($data3 as $a=>$s){
                            $this->update($this->add_activity,['sort'=>$s['sort']+1],['id'=>$s['id']]);
                        }
                        $re4=$this->update($this->add_activity,['sort'=>$sort],['id'=>$id]);
                        if($re4){
                            return true;
                        }else{
                            return false;
                        }
                    }
                }else{
                    return false;
                }
            }else{
                //4.查出大于这个排序值并且小于999的所有排序
                $this->db->select("id,sort");
                $this->db->from($this->add_activity);
                $this->db->where("sort >=",$sort);
                $this->db->where("sort <",999);
                $res3= $this->db->get();
                $data3 =$res3->result_array();
                if(empty($data3)){
                    //4.1如果没有比这个值大的排序
                    $re4=$this->update($this->add_activity,['sort'=>$sort],['id'=>$id]);
                    if($re4){
                        return true;
                    }else{
                        return false;
                    }
                }else{
                    //4.2如果有比这个排序值大的,先把大的这些值
                    foreach($data3 as $a=>$s){
                        $this->update($this->add_activity,['sort'=>$s['sort']+1],['id'=>$s['id']]);
                    }
                    $re4=$this->update($this->add_activity,['sort'=>$sort],['id'=>$id]);
                    if($re4){
                        return true;
                    }else{
                        return false;
                    }
                }
            }
        }
//        //1.先去查询所有排序为1-999的
//        $this->db->select("id,sort");
//        $this->db->from($this->add_activity);
//        $this->db->where("sort>=",1);
//        $this->db->where("sort<=",999);
//        $this->db->order_by('sort',"asc");
//        $res1= $this->db->get();
//        $data1 =$res1->result_array();
//        if(!empty($data1)){
//            //2.如果已经有排序值
//            //2.1先去查询这个排序值的是否存在
//            $this->db->select("id,sort");
//            $this->db->from($this->add_activity);
//            $this->db->where("sort",$sort);
//            $res2= $this->db->get();
//            $data2 =$res2->row_array();
//            if(!$data2){
//                //2.1.1如果不存在这个排序值直接修改这个排序
//                $res=$this->update($this->add_activity,['sort'=>$sort],['id'=>$id]);
//                if($res){
//                    return true;
//                }else{
//                    return false;
//                }
//            }else{
//
//            }
//        }else{
//            //3.没有排序值
//            $res=$this->update($this->add_activity,['sort'=>$sort],['id'=>$id]);
//            if($res){
//                return true;
//            }else{
//                return false;
//            }
//        }
    }

    /**
     * 异步获取分类
     */
    public function get_fenlei($type=1){
        $this->db->select('*');
        $this->db->from($this->fenlei);
        if($type==1){
            $this->db->where("is_other !=",999999999);
            $this->db->where("online",2);
        }
        $res = $this->db->get();
        $datas= $res->result_array();
//        echo $this->db->last_query();
        return $datas;
    }

    /**
     * 异步获取分类
     */
    public function get_huati($huati_id="",$type=1){
        $this->db->select('*');
        $this->db->from($this->huati);
        if($type==1){
            $this->db->where("is_other !=",999999999);
            $this->db->where("online",2);
            $this->db->where("del2",2);
            $this->db->where("sub_type",$huati_id);
        }else if($type==2){
            $this->db->where("is_other !=",999999999);
            $this->db->where("online",2);
            $this->db->where("del2",2);
        }
        $res = $this->db->get();
        $datas= $res->result_array();
//        echo $this->db->last_query();
        return $datas;
    }


    /////////////////////////////////////////////////////////测测测模板结束//////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////配配配模板开始/////////////////////////////////////////////////////////////////////////////
    /**
     * 原始和弃用主页查询
     */
    public function photo_all($arr){
        $this->db->select('*');
        $this->db->from($this->template_photo);
        //分页
        if(!empty($arr['page']) && !empty($arr['limit'])){
            $pages=($arr['page']-1)*$arr['limit'];
            $datas['total']=$this->db->count_all_results("",false);
            $this->db->limit($arr['limit'],$pages);
        }else{
            $datas['total']=$this->db->count_all_results("",false);
        }
//        $this->db->order_by('sort',"asc");
        $this->db->order_by('add_time',"desc");
        $res = $this->db->get();
        $datas['row']= $res->result_array();
//        echo $this->db->last_query();
        return $datas;
    }

    /**
     * 删除数据
     */
    public function photo_frame_del($where){
        return $this->db->delete($this->template_photo,$where);
    }


//////////////////////////////////////////////////////////////配配配模板结束/////////////////////////////////////////////////////////////////////////////
///
///
//////////////////////////////////////////////////////////////配配配模板开始/////////////////////////////////////////////////////////////////////////////
    /**
     * 原始和弃用主页查询
     */
    public function no_edit_photo_all($arr){
        $this->db->select('*');
        $this->db->from($this->template_no_edit_photo);
        //分页
        if(!empty($arr['page']) && !empty($arr['limit'])){
            $pages=($arr['page']-1)*$arr['limit'];
            $datas['total']=$this->db->count_all_results("",false);
            $this->db->limit($arr['limit'],$pages);
        }else{
            $datas['total']=$this->db->count_all_results("",false);
        }
//        $this->db->order_by('sort',"asc");
        $this->db->order_by('add_time',"desc");
        $res = $this->db->get();
        $datas['row']= $res->result_array();
//        echo $this->db->last_query();
        return $datas;
    }

    /**
     * 删除数据
     */
    public function del($where){
        return $this->db->delete($this->template_no_edit_photo,$where);
    }


//////////////////////////////////////////////////////////////配配配模板结束/////////////////////////////////////////////////////////////////////////////
}